<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>3.虚拟DOM与真实DOM</title>
  </head>
  <body>
    <!-- 准备好一个容器 -->
    <div id="test"></div>
    <div id="demo"></div>

    <!-- 引入react 核心库 -->
    <script
      type="text/javascript"
      src="../../react-js/react.development.js"
    ></script>
    <!-- 引入react-dom 用于支持react操作dom -->
    <script
      type="text/javascript"
      src="../../react-js/react-dom.development.js"
    ></script>
    <!-- 引入babel 用于jsx转为js -->
    <script type="text/javascript" src="../../react-js/babel.min.js"></script>

    <script type="text/babel">
      /* 此处一定要写babel */
      // 1.创建虚拟DOM
      const VDOM = //此处不要写引号，因为不是字符串
        (
          <h1 id='title'>
            <span>Hello,React</span>
          </h1>
        );
      // 2.渲染虚拟DOM到页面
      ReactDOM.render(VDOM, document.getElementById('test'));

      const TDOM = document.getElementById('demo');
      console.log(VDOM, '虚拟DOM');
      console.log(TDOM, '真实DOM');
      // debugger;
      //console.log(typeof VDOM);
      //console.log(VDOM instanceof Object);

      /**
       *  关于虚拟DOM：
       *    1.本质上是Object类型的对象（一般对象）
       *    2.虚拟DOM比较“轻”，真实DOM比较“重”，因为虚拟DOM是React内部在用，无需真实DOM上那么多的属性。
       *    3.虚拟DOM最终会被React转化为真实DOM，呈现在页面上。
       */
    </script>
  </body>
</html>
